#include "pageswitchbutton.h"
#include "util.h"
#include <QPixmap>

PageSwitchButton::PageSwitchButton(QWidget *parent)
    : QPushButton{parent}
{
    //设置按钮的大小
    setFixedSize(48,46);

    btnImage=new QLabel(this);
    btnImage->setGeometry((48-24)/2,0,24,24);

    btnTitle=new QLabel(this);
    btnTitle->setGeometry(0,30,48,16);
    btnTitle->setAlignment(Qt::AlignCenter);

    //去掉按钮的边框
    setStyleSheet("border:none");
}

void PageSwitchButton::setImageAndText(const QString &imagePath, const QString &text,int pageId)
{
    setImage(imagePath);
    //btnImage->setPixmap(QPixmap(imagePath));
    btnTitle->setText(text);

    this->pageId=pageId;
}

void PageSwitchButton::setTextColor(const QString &textColor)
{
    btnTitle->setStyleSheet("font-family:微软雅黑;"
                            "font-size: 12px;"
                            "font-weight:bold;"
                            "color:"+textColor+";"
                            );
}

int PageSwitchButton::getPageId() const
{
    return pageId;
}

void PageSwitchButton::setImage(const QString &imagePath)
{
    // 加载原始图片(200x200)
    QPixmap pixmap(imagePath);  // 替换为你的图片路径

    // 缩放图片以适应QLabel的大小，保持宽高比
    QPixmap scaledPixmap = pixmap.scaled(
        btnImage->size(),         // 目标大小为QLabel的大小(24x24)
        Qt::KeepAspectRatio,      // 保持宽高比，避免图片变形
        Qt::SmoothTransformation  // 平滑缩放，提高显示质量
        );

    // 设置缩放后的图片到QLabel
    btnImage->setPixmap(scaledPixmap);
}

void PageSwitchButton::mousePressEvent(QMouseEvent *event)
{
    (void)event;
    setTextColor("#000000");

    emit switchPage(pageId);
    LOG()<<pageId<<"按钮被点击了";
}
